/* 
 * File:   Ability.h
 * Author: Quintero
 *
 * Created on February 3, 2012, 8:02 PM
 */

#ifndef ABILITY_H
#define ABILITY_H
# include "SpellEffect.h"
class Ability
{
     float castTime;
     double healing;
     int ammo;
     bool isInstant;
     bool isBasicAttack;
     int bonusSurge;
     int bonusCrit;
     double damage;

public:
    double getAmmo();
    double getCastTime(float speed);
    double getHealing(float bonusHealing);
    double getDamage(double bonusDamage, double MH_max, double MH_min, double OH_max, double OH_min);
    bool getIsInstant();
     Ability(float cast, int cost, bool instant);
     Ability(float cast, int cost, bool instant, bool basic);
     void setValues(double cast, int cost, bool isInstant);
     Ability(float cast, int cost, bool instant, float coeff1, float stdMin1, float stdMax1, int numTicks1, double amountModPercent1, float coeff2, float stdMin2, float stdMax2, int numTicks2,  double amountModPercent2);
     Ability(float cast, int cost, bool instant, float coeff1, float stdMin1, float stdMax1, int numTicks1, double amountModPercent1, float coeff2, float stdMin2, float stdMax2, int numTicks2);
     Ability(float cast, int cost, bool instant, float coeff1, float stdMin1, float stdMax1, int numTicks1, float coeff2, float stdMin2, float stdMax2, int numTicks2);
     Ability(float cast, int cost, bool instant, float coeff1, float stdMin1, float stdMax1, int numTicks1, double amountModPercent1);
     Ability(float cast, int cost, bool instant, float coeff1, float stdMin1, float stdMax1);
     Ability();
    ~Ability();
    SpellEffect effect1;
    SpellEffect effect2;
};
#endif
